class Solution:
    def findComplement(self, num: int) -> int:
        bin_len = len(bin(num)) - 2       # 去掉 '0b' 后的长度
        mask = (1 << bin_len) - 1         # 构造一个全是1的掩码，比如num=5，mask=7（二进制111）
        return num ^ mask                 # 异或操作，相当于按位取反
if __name__ == '__main__':
    s = Solution()
    print(s.findComplement(5))